package com.ctshk.rpc.order.bus.req;

import java.io.Serializable;
import java.time.LocalDate;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

@Data
@ApiModel("创建巴士订单基础req")
public class BusOrderCreateBaseReq implements Serializable {
	private static final long serialVersionUID = 1L;

	@NotNull(message = "巴士产品ID不能为空")
    @ApiModelProperty(value = "巴士产品id")
    protected Long busProductId;
	
	@ApiModelProperty(value = "出发时间")
    protected LocalDate effectiveTime;
	
	@NotBlank(message = "联系人姓不能为空")
    @ApiModelProperty(value = "联系人姓")
    protected String surname;

    @NotBlank(message = "联系人名不能为空")
    @ApiModelProperty(value = "联系人名")
    protected String name;

    @ApiModelProperty(value = "联系人姓名")
    protected String contactName;

    @NotBlank(message = "联系人手机不能为空")
    @ApiModelProperty(value = "联系人手机")
    protected String contactMobile;

    @ApiModelProperty(value = "联系人手机区号id")
    protected Long contactMobileAreaCodeId;

    @ApiModelProperty(value = "联系人手机区号")
    protected String contactMobileAreaCode;

    @ApiModelProperty(value = "联系人邮箱")
    protected String contactEmail;
    
    @NotNull(message = "性别不能为空，1：男,2:女")
    @ApiModelProperty(value = "性别")
    protected Integer gender;
    
    @ApiModelProperty("成人数量")
    protected Integer adultNum = 0;

    @ApiModelProperty("小童数量")
    protected Integer childrenNum = 0;
    
    @ApiModelProperty("长者数量")
    protected Integer oldNum = 0;
    
    @ApiModelProperty(value = "会员查询类型(1:手机号查询,2:证件号码查询)")
    private Integer memberQueryType;

    @ApiModelProperty(value = "会员查询证件类型(根据CRM提供的证件类型列表)")
    private Integer memberQueryCertificatesType;

    @ApiModelProperty(value = "会员查询编码(根据memberQueryType判断)")
    private String memberQueryCode;

    @ApiModelProperty(value = "使用积分")
    private Integer usingPoints;

//    @ApiModelProperty(value = "优惠卷id")
//    private Long couponId;
    
    @ApiModelProperty(value = "优惠卷号码")
    private String couponNumber;

    @ApiModelProperty(value = "备注")
    private String remark;
}
